<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../layui/css/layui.css"  media="all">
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>
<form class="layui-form" action="" lay-filter="partForm">
    <div class="layui-form-item" style="margin-top:10px">
        <div class="layui-inline">
            <label class="layui-form-label">部门名称</label>
            <div class="layui-input-block" style="width:200px">
                <input type="text" name="name" lay-verify="name" autocomplete="off" placeholder="" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">部门备注</label>
            <div class="layui-input-inline" style="width:200px">
                <input type="text" name="remark" lay-verify="remark" autocomplete="off" class="layui-input">
            </div>
        </div>
        <button type="button" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="query">查询</button>
        <button type="button" id="add" class="layui-btn layui-btn-lg" lay-submit="" lay-filter="add">新增部门</button>
    </div>

</form>
<table class="layui-hide" id="test" lay-filter="test"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
    </div>
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>


<script src="https://www.layuicdn.com/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>

<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->

<script>
    layui.use(['table','form','jquery','layer'], function(){
        var table = layui.table;
        var form = layui.form;
        var $ = layui.jquery;
        var layer = layui.layer;
        table.render({
            id : 'partTable'
            ,elem: '#test'
            ,url:'/firstWeb/part/queryLike'
            ,title: '用户数据表'
            ,where: {}
            ,cols: [[
                {field:'id', title:'部门编号'}
                ,{field:'name', title:'部门名称'}
                ,{field:'remark', title:'部门备注'}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo'}
            ]]
            ,page: true // 默认一页十条
            ,limit:5
            ,limits: [1,5,10,20]
        });

        function tableReload() {
            var data = form.val('partForm');
            table.reload('partTable',{
                where : data
                ,page: {
                    curr: 1
                }
            })
        }
        $("#formSubmit").click(function(){
            tableReload();
        });

        $("#add").click(function() {
            layer.open({
                type: 2 //此处以iframe举例
                ,title: '新增页面'
                ,area: ['390px', '260px']
                ,shade: 0
                ,maxmin: true
                ,content: 'dialog.html'
                ,btn: ['提交', '关闭']
                ,yes: function(index) {
                    var data = window['layui-layer-iframe' + index].getValue();
                    if (!data.name) {
                        layer.msg("部门名称不能为空");
                        return false;
                    }
                    //发送新增请求 get/post √
                    axios.post('/firstWeb/part/savePart', data).then(function (response) {
                        //post请求执行成功的回调
                        if (response.data.status == "1") {
                            layer.close(index);
                            //刷新表格
                            tableReload();
                            layer.msg("新增成功");
                        } else {
                            layer.msg(response.data.msg)
                        }
                    }).catch(function (error) {
                        console.log(error);
                    });
                }
                ,no: function(index){//5
                    layer.close(index);
                }
            });
        })



        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            console.log(obj);
            if(obj.event === 'del'){//删除
                layer.confirm('真的删除行么', function(index){
                    axios.post('/firstWeb/part/updateState', data).then(function (response) {
                        //post请求执行成功的回调
                        if (response.data.status == "1") {
                            layer.close(index);
                            //刷新表格
                            tableReload();
                            layer.msg("删除成功");
                        } else {
                            layer.msg(response.data.msg)
                        }
                    }).catch(function (error) {
                        console.log(error);
                    });
                    obj.del();
                    layer.close(index);
                });
            } else if(obj.event === 'edit') {//编辑
                layer.open({
                    type: 2 //此处以iframe举例
                    ,title: '修改页面'
                    ,area: ['390px', '260px']
                    ,shade: 0
                    ,maxmin: true
                    ,content: 'dialog.html'
                    ,btn: ['提交', '关闭']
                    ,yes: function(index){
                        var data = window['layui-layer-iframe' + index].getValue();
                        data.id = obj.data.id;
                        if (!data.name) {
                            layer.msg("部门名称不能为空");
                            return false;
                        }
                        //发送新增请求 get/post √
                        axios.post('/firstWeb/part/update', data).then(function(response) {
                            //post请求执行成功的回调
                            if (response.data.status == "1") {
                                layer.close(index);
                                //刷新表格
                                tableReload();
                                layer.msg("更新成功");
                            } else {
                                layer.msg(response.data.msg)
                            }
                        }).catch(function (error) {
                            console.log(error);
                        });
                    }
                    ,no: function(index){//5
                        layer.close(index);
                    }
                });
            }
        });
    });
</script>

</body>
</html>